package main

import "fmt"

// switch 简化大量判断
func main() {
	// var n = 2
	// switch n {
	// case 1:
	// 	fmt.Println('1')
	// case 2:
	// 	fmt.Println("2")
	// case 3:
	// 	fmt.Println('3')
	// default:
	// 	fmt.Println("都没有")
	// }
	// switch n := 3; n {
	// case 1:
	// 	fmt.Println('1')
	// case 2:
	// 	fmt.Println("2")
	// case 3:
	// 	fmt.Println('3')
	// default:
	// 	fmt.Println("都没有")
	// }
	// switch n := 8; n {
	// case 1, 3, 5, 7, 9:
	// 	fmt.Println('1')
	// case 2:
	// 	fmt.Println("2")
	// case 4:
	// 	fmt.Println('3')
	// default:
	// 	fmt.Println("都没有")
	// }
	// switch n := 8; n {
	// case 1, 3, 5, 7, 9:
	// 	fmt.Println('1')
	// case 2:
	// 	fmt.Println("2")
	// case 4:
	// 	fmt.Println('3')
	// case 6:
	// 	fmt.Println('3')
	// default:
	// 	fmt.Println("都没有")
	// }
	// age := 30
	// switch {
	// case age > 5:
	// 	fmt.Println("1")
	// case age > 15:
	// 	fmt.Println("2")
	// default:
	// 	fmt.Println("都没有")
	// }
	// fallthrough 语法可以执行满足条件的case的下一个case, 是为了兼容C语言中的case设计的.
	s := "a"
	switch {
	case s == "a":
		fmt.Println("A")
		fallthrough
	case s == "b":
		fmt.Println("B")
	case s == "c":
		fmt.Println("C")
	default:
		fmt.Println("...")
	}
	// A
	// B
}
